package org.tech4j.common.core.sign.extractor.parse;

import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
import org.tech4j.common.spi.SPI;

import java.util.Map;

/**
 * @program: tech4j-common
 * @description:
 * @author: YuKai Fan
 * @create: 2025/3/2 20:50
 **/
@SPI
public interface ParseData {

    /**
     * parse request param
     *
     * @param paramType paramType
     * @param paramKey paramKey
     * @param request request
     * @return triple (parameter, sign, originParameter)
     */
    default Triple<Map<String, Object>, String, String> parse(String paramType, String paramKey, HttpServletRequest request) {
        return null;
    }
}
